home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / OpenDoc / CreditNow! / CreditNow! Source / $Sources / CPCreditNowDemo.Frame.cpp < prev    next >
Encoding:
Text File  |  1995-05-01  |  10.0 KB  |  304 lines  |  [TEXT/MPCC]

  1. //----------------------------------------------------------------------------------------
  2. // Frame protocol
  3. //----------------------------------------------------------------------------------------
  4.  
  5. #ifndef _CREDITNOWDEMO_
  6. #include "CPCreditNowDemo.h"
  7. #endif
  8.  
  9. //----------------------------------------------------------------------------------------
  10.  
  11. void CPCreditNowDemo::DisplayFrameAdded(Environment* ev, ODFrame* frame)
  12. {
  13.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_DisplayFrameAdded
  14.     EnteringMethod("\pCPCreditNowDemo::AddDisplayFrame");
  15.  
  16.     fDisplayFrames.Add(frame);
  17.         // Add new frame to list of current display frames.
  18.     
  19.     frame->SetDroppable(ev, kODTrue);
  20.         // We always want drag and drop in parts.
  21. }
  22.  
  23. //----------------------------------------------------------------------------------------
  24.  
  25. void CPCreditNowDemo::DisplayFrameConnected(Environment* ev, ODFrame* /*frame*/)
  26. {
  27.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_DisplayFrameConnected
  28.     EnteringMethod("\pCPCreditNowDemo::DisplayFrameConnected");
  29.  
  30.     // // fDisplayFrames.Add(frame);
  31.     // Don't need to add frame to list of current display frames because we already did
  32.     // in InitPartFromStorage.
  33. }
  34.  
  35. //----------------------------------------------------------------------------------------
  36.  
  37. void CPCreditNowDemo::DisplayFrameRemoved(Environment* ev, ODFrame* frame)
  38. {
  39.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_DisplayFrameRemoved
  40.     EnteringMethod("\pCPCreditNowDemo::DisplayFrameRemoved");
  41.  
  42.     fSession->GetArbitrator(ev)->RelinquishFocusSet(ev, fFocusSet, frame);
  43.  
  44.     fDisplayFrames.Remove(frame);
  45.         // This just removes the reference from our frame list.
  46. }
  47.  
  48. //----------------------------------------------------------------------------------------
  49.  
  50. void CPCreditNowDemo::DisplayFrameClosed(Environment* ev, ODFrame* frame)
  51. {
  52.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_DisplayFrameClosed
  53.     EnteringMethod("\pCPCreditNowDemo::DisplayFrameClosed");
  54.  
  55.     fSession->GetArbitrator(ev)->RelinquishFocusSet(ev, fFocusSet, frame);
  56.  
  57.     fDisplayFrames.Remove(frame);
  58.         // This just removes the reference from our frame list.
  59. }
  60.  
  61. //----------------------------------------------------------------------------------------
  62.  
  63. void CPCreditNowDemo::FrameShapeChanged(Environment* ev, ODFrame* frame)
  64. {
  65.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_FrameShapeChanged
  66.     EnteringMethod("\pCPCreditNowDemo::FrameShapeChanged");
  67.  
  68.     frame->RequestFrameShape(ev, this->PrivGetFrameShape(ev, frame), kODNULL);
  69.     this->PrivAdjustFacets(ev, frame);
  70.     frame->Invalidate(ev, kODNULL, kODNULL);
  71.     frame->InvalidateActiveBorder(ev);
  72. }
  73.  
  74. //----------------------------------------------------------------------------------------
  75.  
  76. ODShape* CPCreditNowDemo::PrivGetFrameShape(Environment* ev, ODFrame* frame)
  77. {
  78.     // This is just to centralize the frame shape code.  Do it any way
  79.     // is best for your part.
  80.  
  81.     ODShape* newFrameShape;
  82.  
  83.     if (frame->IsRoot(ev))
  84.         newFrameShape = frame->GetFrameShape(ev, kODNULL);
  85.     else
  86.         newFrameShape = this->PrivGetUsedShape(ev, frame);
  87.  
  88.     return newFrameShape;
  89. }
  90.  
  91. //----------------------------------------------------------------------------------------
  92.  
  93. ODShape* CPCreditNowDemo::PrivGetUsedShape(Environment* ev, ODFrame* frame)
  94. {
  95.     // This is just to centralize the frame shape code.  Do it any way
  96.     // is best for your part.
  97.     
  98.     ODShape* frameShape = frame->GetFrameShape(ev, kODNULL);
  99.     RgnHandle    shapeRgn = frameShape->GetQDRegion(ev);
  100.     Rect        rr;
  101.  
  102.     frameShape->Release(ev);
  103.  
  104.     ODTypeToken    theViewType = frame->GetViewType(ev);
  105.         
  106.     // handle Small Icon view
  107.     if (theViewType == fSession->Tokenize(ev, kODViewAsSmallIcon))
  108.     {
  109.         ::SetRect(&rr, 0, 0, kODSmallIconSize, kODSmallIconSize);
  110.     }
  111.     // handle Large Icon view
  112.     else if (theViewType == fSession->Tokenize(ev, kODViewAsLargeIcon))
  113.     {
  114.         ::SetRect(&rr, 0, 0, kODLargeIconSize, kODLargeIconSize);
  115.     }
  116.     // handle Thumbnail view
  117.     else if (theViewType == fSession->Tokenize(ev, kODViewAsThumbnail))
  118.     {
  119.         ::SetRect(&rr, 0, 0, kODThumbnailSize, kODThumbnailSize);
  120.     }
  121.     // handle Frame viewType
  122.     else
  123.     {
  124. //AET<<
  125.         ::SetRect(&rr, 0, 0, 320, 255);
  126. //AET>>
  127.     }
  128.  
  129. //AET<<
  130.     ::OpenRgn();
  131.     ::FrameRoundRect(&rr, 40, 40);
  132.     ::CloseRgn(shapeRgn = ::NewRgn());
  133. //AET>>
  134.  
  135.     ODShape* usedShape = frame->CreateShape(ev);
  136.     usedShape->SetQDRegion(ev, shapeRgn);
  137.  
  138.     return usedShape;
  139. }
  140.  
  141. //----------------------------------------------------------------------------------------
  142.  
  143. void CPCreditNowDemo::PrivAdjustFacets(Environment* ev, ODFrame* frame)
  144. {
  145.     // Given a frame, iterate through all of the facets and adjust them
  146.     // according to the new frame.
  147.  
  148.     ODShape* usedShape  = this->PrivGetUsedShape(ev, frame);
  149.     frame->ChangeUsedShape(ev, usedShape, kODNULL);
  150.     usedShape->Release(ev);
  151.  
  152.     ODShape* frameShape = frame->GetFrameShape(ev, kODNULL);
  153.     ODFrameFacetIterator* facets = frame->CreateFacetIterator(ev);
  154.     for (ODFacet* facet = facets->First(ev);
  155.             facets->IsNotComplete(ev);
  156.             facet = facets->Next(ev) )
  157.     {
  158.         facet->ChangeActiveShape(ev, frameShape, kODNULL);
  159.     }
  160.     frameShape->Release(ev);
  161. }
  162.  
  163.  
  164. //----------------------------------------------------------------------------------------
  165.  
  166. void CPCreditNowDemo::AttachSourceFrame(Environment* ev, ODFrame* frame, ODFrame* sourceFrame)
  167. {
  168.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_AttachSourceFrame
  169.     EnteringMethod("\pCPCreditNowDemo::AttachSourceFrame");
  170.     ODUnused(frame);
  171.     ODUnused(sourceFrame);
  172. }
  173.  
  174. //----------------------------------------------------------------------------------------
  175.  
  176. void CPCreditNowDemo::ViewTypeChanged(Environment* ev, ODFrame* frame)
  177. {
  178.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_ViewTypeChanged
  179.     EnteringMethod("\pCPCreditNowDemo::ViewTypeChanged");
  180.  
  181.     // Invalidate the entire frame
  182.     frame->Invalidate(ev, kODNULL, kODNULL);
  183.     frame->InvalidateActiveBorder(ev);
  184. }
  185.  
  186. //----------------------------------------------------------------------------------------
  187.  
  188. void CPCreditNowDemo::PresentationChanged(Environment* ev, ODFrame* frame)
  189. {
  190.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_PresentationChanged
  191.     EnteringMethod("\pCPCreditNowDemo::PresentationChanged");
  192.     ODUnused(frame);
  193. }
  194.  
  195. //----------------------------------------------------------------------------------------
  196.  
  197. void CPCreditNowDemo::SequenceChanged(Environment* ev, ODFrame* frame)
  198. {
  199.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_SequenceChanged
  200.     EnteringMethod("\pCPCreditNowDemo::SequenceChanged");
  201.     ODUnused(frame);
  202. }
  203.  
  204. //----------------------------------------------------------------------------------------
  205.  
  206. void CPCreditNowDemo::WritePartInfo(Environment* ev, ODInfoType partInfo,
  207.                                ODStorageUnitView* storageUnitView)
  208. {
  209.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_WritePartInfo
  210.     EnteringMethod("\pCPCreditNowDemo::WritePartInfo");
  211.     ODUnused(partInfo);
  212.     ODUnused(storageUnitView);
  213. }
  214.  
  215. //----------------------------------------------------------------------------------------
  216.  
  217. void CPCreditNowDemo::ClonePartInfo(Environment *ev, ODDraftKey key,
  218.                                 ODInfoType partInfo,
  219.                                 ODStorageUnitView* storageUnitView,
  220.                                 ODFrame* scopeFrame)
  221. {
  222.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_ClonePartInfo
  223.     EnteringMethod("\pCPCreditNowDemo::ClonePartInfo");
  224.     ODUnused(key);
  225.     ODUnused(partInfo);
  226.     ODUnused(storageUnitView);
  227.     ODUnused(scopeFrame);
  228. }
  229.  
  230. //----------------------------------------------------------------------------------------
  231.  
  232. ODInfoType CPCreditNowDemo::ReadPartInfo(Environment* ev, ODFrame* frame, ODStorageUnitView* storageUnitView)
  233. {
  234.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_ReadPartInfo
  235.     EnteringMethod("\pCPCreditNowDemo::ReadPartInfo");
  236.     ODUnused(frame);
  237.     ODUnused(storageUnitView);
  238.     return kODNULL;
  239. }
  240.  
  241. //----------------------------------------------------------------------------------------
  242.  
  243. ODFrame* CPCreditNowDemo::RequestEmbeddedFrame(Environment* ev, ODFrame* containingFrame,
  244.                                            ODFrame* baseFrame,
  245.                                            ODShape* frameShape,
  246.                                            ODPart* embedPart,
  247.                                            ODTypeToken viewType,
  248.                                            ODTypeToken presentation,
  249.                                            ODBoolean isOverlaid)
  250. {
  251.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_RequestEmbeddedFrame
  252.     EnteringMethod("\pCPCreditNowDemo::RequestEmbeddedFrame");
  253.     ODUnused(containingFrame);
  254.     ODUnused(baseFrame);
  255.     ODUnused(frameShape);
  256.     ODUnused(embedPart);
  257.     ODUnused(viewType);
  258.     ODUnused(presentation);
  259.     ODUnused(isOverlaid);
  260.     DebugStr("\pCPCreditNowDemo::RequestEmbeddedFrame -- shouldn't be here.");
  261.     return kODNULL;
  262. }
  263.  
  264. //----------------------------------------------------------------------------------------
  265.  
  266. void CPCreditNowDemo::RemoveEmbeddedFrame(Environment* ev, ODFrame* embeddedFrame)
  267. {
  268.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_RemoveEmbeddedFrame
  269.     EnteringMethod("\pCPCreditNowDemo::RemoveEmbeddedFrame");
  270.     ODUnused(embeddedFrame);
  271.     DebugStr("\pCPCreditNowDemo::RemoveEmbeddedFrame -- shouldn't be here.");
  272. }
  273.  
  274. //----------------------------------------------------------------------------------------
  275.  
  276. ODShape* CPCreditNowDemo::RequestFrameShape(Environment* ev, ODFrame* embeddedFrame, ODShape* frameShape)
  277. {
  278.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_RequestFrameShape
  279.     EnteringMethod("\pCPCreditNowDemo::RequestFrameShape");
  280.     ODUnused(embeddedFrame);
  281.     ODUnused(frameShape);
  282.     DebugStr("\pCPCreditNowDemo::RequestFrameShape -- shouldn't be here.");
  283.     return kODNULL;
  284. }
  285.  
  286. //----------------------------------------------------------------------------------------
  287.  
  288. void CPCreditNowDemo::UsedShapeChanged(Environment* ev, ODFrame* embeddedFrame)
  289. {
  290.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_UsedShapeChanged
  291.     EnteringMethod("\pCPCreditNowDemo::UsedShapeChanged");
  292.     ODUnused(embeddedFrame);
  293. }
  294.  
  295. //----------------------------------------------------------------------------------------
  296.  
  297. ODShape* CPCreditNowDemo::AdjustBorderShape(Environment* ev, ODFacet* embeddedFacet, ODShape* shape)
  298. {
  299.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_AdjustBorderShape
  300.     EnteringMethod("\pCPCreditNowDemo::AdjustBorderShape");
  301.     ODUnused(embeddedFacet);
  302.     return shape;
  303. }
  304.